package com.huluobo.a2107kotlinshopping.demo

import androidx.room.Dao
import androidx.room.Delete
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Update

/**
 *  Created by LC on 2023/11/14.
 *  2.创建Dao来进行数据库的增删改查
 *  @Insert 插入,需要写替换规则,冲突策略,当前为替换(REPLACE)
 *  当插入时,在数据库中如果有相同的值(重复插入同意对象),就会发生冲突,这里的冲突策略是替换
 *  @Query("select * from user where id = :id")
 *  user 是表名 where后的id是在表中的id  :id是查询方法中的参数
 *
 */
@Dao
interface UserDao {
    @Insert(onConflict = OnConflictStrategy.REPLACE)
    fun insertUser(user: User)

    @Delete
    fun deleteUser(user: User)

    @Update
    fun updateUser(user: User)

    @Query("select * from user where id = :id")
    fun queryUser(id: Int): User
}